
# 10.10 参数和结果传递的问题

# 计算 data 段中第一组数据的 3次方，结果保存在后面一组 dword 单元中

assume cs:code
data segment
	dw 1,2,3,4,5,6,7,8
	dd 0,0,0,0,0,0,0,0
data ends

code segment
start:	mov ax,data
		mov ds,ax
		mov si,0		# ds:si 指向第一组 word 单元
		mov di,16		# ds:di 指向第二组 dword 单元

		mov cx,8
	s:	mov bx,[si]
		call cube
		mov [di],ax
		mov [di].2,dx
		add si,2		# ds:si 指向下一个word 单元
		add di,4		# ds:di 指向下一个 dword 单元
		loop s

		mov ax,400h
		int 21h

cube:	mov ax,bx
		mul bx
		mul bx
		ret
code ends
end start